home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 21 / AACD 21.iso / AACD / Programming / Scalos / Developer / Autodoc / scalos.doc < prev    next >
Text File  |  2000-06-01  |  22KB  |  861 lines

  1. TABLE OF CONTENTS
  2.  
  3. scalos.library/--background
  4. scalos.library/SCA_WBStart
  5. scalos.library/SCA_SortNodes
  6. scalos.library/SCA_NewAddAppIcon
  7. scalos.library/SCA_RemoveAppObject
  8. scalos.library/SCA_NewAddAppWindow
  9. scalos.library/SCA_NewAddAppMenuItem
  10. scalos.library/SCA_AllocStdNode
  11. scalos.library/SCA_AllocNode
  12. scalos.library/SCA_FreeNode
  13. scalos.library/SCA_FreeAllNodes
  14. scalos.library/SCA_MoveNode
  15. scalos.library/SCA_SwapNodes
  16. scalos.library/SCA_OpenIconWindow
  17. scalos.library/SCA_LockWindowList
  18. scalos.library/SCA_UnLockWindowList
  19. scalos.library/SCA_AllocMessage
  20. scalos.library/SCA_FreeMessage
  21. scalos.library/SCA_InitDrag
  22. scalos.library/SCA_EndDrag
  23. scalos.library/SCA_AddBob
  24. scalos.library/SCA_DrawDrag
  25. scalos.library/SCA_UpdateIcon
  26. scalos.library/SCA_MakeWBArgs
  27. scalos.library/SCA_FreeWBArgs
  28. scalos.library/SCA_RemapBitmap
  29. scalos.library/SCA_ScreenTitleMsg
  30. scalos.library/SCA_MakeScalosClass
  31. scalos.library/SCA_FreeScalosClass
  32. scalos.library/SCA_NewScalosObject
  33. scalos.library/SCA_DisposeScalosObject
  34.  
  35.  
  36.  
  37. --background
  38.     This library is used as application interface for the Scalos
  39.     workbenchreplacement. It's only available if Scalos is running.
  40.     This means if the library-open fails Scalos isn't running.
  41.  
  42.     For information about NodeList see SortNodes() and Node see
  43.     AllocStdNode().
  44.  
  45.     NAME
  46.     SCA_WBStart
  47.  
  48.     SYNOPSIS
  49.     succ SCA_WBStart (ArgArray, Taglist, NumArgs )
  50.                      A0       A1       D0
  51.  
  52.     BOOL SCA_WBStart ( APTR ArgArray , APTR Taglist, ULONG NumArgs );
  53.  
  54.     FUNCTION
  55.     The first argument is used as filename for the to started program.
  56.     The Locks inside the ArgArray are automatically unlocked (use DupLock)
  57.     and the strings are copied.
  58.  
  59.     INPUTS
  60.     ArgArray - Standard Workbench Args
  61.     NumArgs - Number of Args in the ArgArray. This must be at least
  62.           one.
  63.     Taglist -
  64.         SCA_IconObject - diskobject.library - IconObject to get
  65.                 information from it. No icon will be
  66.                 loaded.
  67.         SCA_Stacksize - stacksize if no icon is available
  68.         SCA_Flags -
  69.             SCAB_WBStart_NoIcon - don't read an icon.
  70.             SCAB_WBStart_Wait - wait until the program returns
  71.             SCAB_WBStart_PathSearch - search through paths
  72.             SCAB_WBStart_NoIconCheck - don't check icontype
  73.  
  74.     RESULT
  75.  
  76.     succ - FALSE if the start fails. It only fails if not enough
  77.            memory available or the WBL task couldn't be started.
  78.            If the program couldn't be loaded it will return TRUE, because
  79.            of it doesn't wait for the returncode of WBL task.
  80.  
  81.     NOTE
  82.     Locks will not be unlocked if this function fails!
  83.  
  84.     SEE ALSO
  85.     diskobject.library
  86.  
  87.  
  88.     NAME
  89.     SCA_SortNodes
  90.  
  91.     SYNOPSIS
  92.     SCA_SortNodes (NodeList, CompareFunc, SortType)
  93.                  A0          A1          D0
  94.  
  95.     void SCA_SortNodes ( struct ScalosNodeList, struct Hook, ULONG SortType);
  96.  
  97.     FUNCTION
  98.     Sorts a list of MinNodes and uses the CompareFunc to find differences
  99.     between to nodes. NodeList is a pointer to a APTR which points to the
  100.     first node. The first node has as mln_succ a NULL and the last node 
  101.     has as mln_pred a NULL. Only mln_succ, mln_pred and the address of the
  102.     of the first will changed. Nothing will be reallocated or freed.
  103.  
  104.     The CompareFunc will be called with a pointer to one node in A1 (Node0)
  105.     and a pointer to second node in A2 (Node1). You have to return a
  106.     specific value in D0:
  107.           0    if Node0 = Node1
  108.           1    if Node0 < Node1
  109.          ~1    if Node0 > Node1
  110.  
  111.     INPUTS
  112.     NodeList - Pointer to an APTR which is a pointer to the first node
  113.     CompareFunc - Pointer to a Hook structure for the compare function
  114.     SortType -
  115.         SCA_SortType_Bubble    : enhanced BubbleSort
  116.         SCA_SortType_Selection    : SelectionSort
  117.         SCA_SortType_Insertion    : InsertionSort
  118.         SCA_SortType_Quick    : QuickSort
  119.         SCA_SortType_Best    : The nodes will be counted and then
  120.                       the best SortType will be used.
  121.     RESULT
  122.  
  123.     SEE ALSO
  124.     SCA_AllocNode, SCA_AllocStdNode, SCA_FreeNode, SCA_FreeAllNodes, SCA_MoveNode, SCA_SwapNodes
  125.  
  126.  
  127.     NAME
  128.     SCA_NewAddAppIcon
  129.  
  130.     SYNOPSIS
  131.     AppObject = SCA_NewAddAppIcon (ID, UserData, IconObject, MessagePort, Taglist)
  132.        D0                      D0     D1         A0          A1          A2
  133.  
  134.     struct AppObject SCA_NewAddAppIcon( ULONG ID, ULONG UserData, struct IconObject, struct MessagePort, APTR Taglist);
  135.  
  136.     FUNCTION
  137.     Adds an icon to the mainwindow of the Scalos-screen. See
  138.     workbench.library - AddAppIcon for more information.
  139.  
  140.     INPUTS
  141.     ID, UserData - will be passed through the AppMessage
  142.     IconObject - diskobject.library - IconObject, IDTM_Layout should not
  143.     to be done.
  144.     MessagePort - a MsgPort where you will receive the AppMessage
  145.     Taglist - no tags at this time.
  146.  
  147.     RESULT
  148.     AppObject - a private structure to be pass to RemoveAppObject or NULL
  149.                 if fails
  150.  
  151.     SEE ALSO
  152.     SCA_NewAddAppWindow, SCA_NewAddAppMenuItem, SCA_RemoveAppObject
  153.  
  154.  
  155.     NAME
  156.     SCA_NewAddAppWindow
  157.  
  158.     SYNOPSIS
  159.     AppObject = SCA_NewAddAppWindow (ID, UserData, Window, MessagePort, Taglist)
  160.        D0                        D0     D1       A0        A1          A2
  161.  
  162.     struct AppObject SCA_NewAddAppWindow( ULONG ID, ULONG UserData, struct Window, struct MessagePort, APTR Taglist);
  163.  
  164.     FUNCTION
  165.     Same as workbench.library - AddAppWindow. See there for further infor-
  166.     mation.
  167.  
  168.     INPUTS
  169.     ID, UserData - will be passed through the AppMessage
  170.     Window - Intuition Window
  171.     MessagePort - a MsgPort where you will receive the AppMessage
  172.     Taglist - no tags at this time.
  173.  
  174.     RESULT
  175.     AppObject - a private structure to be pass to RemoveAppObject or NULL
  176.                 if fails
  177.  
  178.     SEE ALSO
  179.     SCA_NewAddAppIcon, SCA_NewAddAppMenuItem, SCA_RemoveAppObject
  180.  
  181.  
  182.     NAME
  183.     SCA_NewAddAppMenuItem
  184.  
  185.     SYNOPSIS
  186.     AppObject = SCA_NewAddAppMenuItem (ID, UserData, Text, MessagePort, Taglist)
  187.        D0                          D0     D1      A0       A1          A2
  188.  
  189.     struct AppObject SCA_NewAddAppWindow( ULONG ID, ULONG UserData, APTR Text, struct MessagePort, APTR Taglist);
  190.  
  191.     FUNCTION
  192.     Same as workbench.library - AddAppMenuItem. See there for further infor-
  193.     mation.
  194.  
  195.     INPUTS
  196.     ID, UserData - will be passed through the AppMessage
  197.     Text - a pointer to the menutext
  198.     MessagePort - a MsgPort where you will receive the AppMessage
  199.     Taglist - no tags at this time.
  200.  
  201.     RESULT
  202.     AppObject - a private structure to be pass to RemoveAppObject or NULL
  203.                 if fails
  204.  
  205.     SEE ALSO
  206.     SCA_NewAddAppIcon, SCA_NewAddAppWindow, SCA_RemoveAppObject
  207.  
  208.  
  209.     NAME
  210.     SCA_RemoveAppObject
  211.  
  212.     SYNOPSIS
  213.     succ = SCA_RemoveAppObject (AppObject)
  214.      D0                        A0
  215.  
  216.     BOOL SCA_RemoveAppObject (struct AppObject);
  217.  
  218.     FUNCTION
  219.     Removes an AppObject from Scalos. This could be an Icon, a Window or
  220.     a MenuItem.
  221.  
  222.     INPUTS
  223.     AppObject - result from NewAddAppIcon,NewAddAppWindow or NewAddAppMenuItem
  224.  
  225.     RESULT
  226.     succ - currently it results ever TRUE
  227.  
  228.     SEE ALSO
  229.     SCA_NewAddAppIcon, SCA_NewAddAppWindow, SCA_NewAddAppMenuItem
  230.  
  231.  
  232.     NAME
  233.     SCA_AllocStdNode
  234.  
  235.     SYNOPSIS
  236.     Node = SCA_AllocStdNode (NodeList, NodeType)
  237.      D0                     A0        D0
  238.  
  239.     struct MinNode SCA_AllocStdNode (struct ScalosNodeList, ULONG NodeType);
  240.  
  241.     FUNCTION
  242.     Allocates a standard Scalos-node. It's the only compatible why to
  243.     allocate one of the standard nodes. NEVER allocate a node yourself and
  244.     pass it to Scalos! The scalos.library will use a memorypool for all
  245.     nodes to decrease the memoryfragmentation. The new node will be the
  246.     last in your NodeList and it is cleared public memory. Don't change
  247.     mln_succ and mln_pred yourself, use the node function instead.
  248.     See SCA_SortNodes() for information about the NodeList.
  249.  
  250.     INPUTS
  251.     NodeList - Pointer to an APTR which is a pointer to the first node
  252.     NodeType - see scalos.(h|i)
  253.  
  254.     RESULT
  255.     Node - Node at the end or the NodeList
  256.  
  257.     NOTE
  258.     Node *MUST* be freed with SCA_FreeNode() or SCA_FreeAllNodes()
  259.     This function preserves all registers except D0.
  260.  
  261.     SEE ALSO
  262.     SCA_AllocNode, SCA_FreeNode, SCA_FreeAllNodes, SCA_MoveNode, SCA_SortNodes, SCA_SwapNodes
  263.  
  264.  
  265.     NAME
  266.     SCA_AllocNode
  267.  
  268.     SYNOPSIS
  269.     Node = SCA_AllocNode (NodeList, Size)
  270.      D0                  A0      D0
  271.  
  272.     struct MinNode SCA_AllocNode (struct ScalosNodeList, ULONG Size);
  273.  
  274.     FUNCTION
  275.     Allocates a node and inserts it at the end of the NodeList. Use this
  276.     function only for your own node-handling. Never allocate a standard
  277.     Scalos-node, use SCA_AllocStdNode() instead. Size is the number of bytes
  278.     that allocated after the the MinNode. This means the memsize of node
  279.     is size+MLN_SIZE.
  280.     See SCA_AllocStdNode() for further information.
  281.  
  282.     INPUTS
  283.     NodeList - Pointer to an APTR which is a pointer to the first node
  284.     Size - bytes after MLN_SIZE
  285.  
  286.     RESULT
  287.     Node - Node at the end or the NodeList
  288.  
  289.     NOTE
  290.     Node *MUST* be freed with SCA_FreeNode() or SCA_FreeAllNodes()!
  291.     This function preserves all registers except D0.
  292.  
  293.     SEE ALSO
  294.     SCA_AllocStdNode, SCA_FreeNode, SCA_FreeAllNodes, SCA_MoveNode, SCA_SortNodes, SCA_SwapNodes
  295.  
  296.  
  297.     NAME
  298.     SCA_FreeNode
  299.  
  300.     SYNOPSIS
  301.     SCA_FreeNode (NodeList, Node)
  302.                  A0      A1
  303.  
  304.     void SCA_FreeNode (struct ScalosNodeList, struct MinNode);
  305.  
  306.     FUNCTION
  307.     Removes the Node out of the NodeList and Frees a node allocated with
  308.     SCA_AllocStdNode() or SCA_AllocNode().
  309.  
  310.     INPUTS
  311.     NodeList - pointer to an APTR which is a pointer to the first node
  312.     Node - node to remove and free
  313.  
  314.     RESULT
  315.  
  316.     NOTE
  317.     Node must be part of NodeList!
  318.     This function preserves all registers.
  319.  
  320.     SEE ALSO
  321.     SCA_AllocStdNode, SCA_AllocNode, SCA_FreeAllNodes, SCA_MoveNode, SCA_SortNodes, SCA_SwapNodes
  322.  
  323.  
  324.     NAME
  325.     SCA_FreeAllNodes
  326.  
  327.     SYNOPSIS
  328.     SCA_FreeAllNodes (NodeList)
  329.                      A0
  330.  
  331.     void SCA_FreeAllNodes (struct ScalosNodeList);
  332.  
  333.     FUNCTION
  334.     Will free the whole list of nodes.
  335.  
  336.     INPUTS
  337.     NodeList - pointer to an APTR which is a pointer to the first node
  338.  
  339.     RESULT
  340.  
  341.     NOTE
  342.     This function preserves all registers.
  343.  
  344.     SEE ALSO
  345.     SCA_AllocStdNode, SCA_AllocNode, SCA_FreeNode, SCA_MoveNode, SCA_SortNodes, SCA_SwapNodes
  346.  
  347.  
  348.     NAME
  349.     SCA_MoveNode
  350.  
  351.     SYNOPSIS
  352.     SCA_MoveNode (SrcNodeList, DestNodeList, Node)
  353.                   A0            A1        D0
  354.  
  355.     void SCA_MoveNode (struct ScalosNodeList, struct ScalosNodeList, struct MinNode);
  356.  
  357.     FUNCTION
  358.     Will remove the Node from SrcNodeList and will insert the Node at
  359.     the end of DestNodeList.
  360.  
  361.     INPUTS
  362.     SrcNodeList - pointer to an APTR which is a pointer to the first node
  363.     DestNodeList - pointer to an APTR which is a pointer to the first node
  364.     Node - MinNode
  365.  
  366.     RESULT
  367.  
  368.     NOTE
  369.     This function preserves all registers.
  370.  
  371.     SEE ALSO
  372.     SCA_AllocStdNode, SCA_AllocNode, SCA_FreeNode, SCA_FreeAllNodes, SCA_SortNodes, SCA_SwapNodes
  373.  
  374.  
  375.     NAME
  376.     SCA_SwapNodes
  377.  
  378.     SYNOPSIS
  379.     SCA_SwapNodes ( SrcNode, DestNode, NodeList)
  380.                   A0        A1        A2
  381.  
  382.     void SCA_SwapNodes (struct MinNode, struct MinNode, struct ScalosNodeList);
  383.  
  384.     FUNCTION
  385.     Swaps the positions of SrcNode and DestNode inside the NodeList.
  386.  
  387.     INPUTS
  388.     SrcNode - MinNode
  389.     DestNode - MinNode
  390.     NodeList - pointer to an APTR which is a pointer to the first node
  391.  
  392.     RESULT
  393.  
  394.     NOTE
  395.     SrcNode and DestNode *MUST* be part of NodeList!
  396.     This function preserves all registers.
  397.  
  398.     SEE ALSO
  399.     SCA_AllocStdNode, SCA_AllocNode, SCA_FreeNode, SCA_FreeAllNodes, SCA_MoveNode, SCA_SortNodes
  400.  
  401.  
  402.     NAME
  403.     SCA_OpenIconWindow
  404.  
  405.     SYNOPSIS
  406.     succ SCA_OpenIconWindow ( TagList )
  407.      D0                     A0
  408.  
  409.     BOOL SCA_OpenIconWindow ( APTR taglist );
  410.  
  411.     FUNCTION
  412.     opens a windowtask filled with icons. All information will be given
  413.     as tags:
  414.         SCA_IconNode - fullfilled iconnode
  415.         SCA_IconObject - diskobject.library - iconobject
  416.         SCA_Path - the path to open
  417.         SCA_WindowTitle - windowtitle parsestring ( take a look at the
  418.                   prefsprogram for info)
  419.         SCA_WindowRect - windowsize (see diskobject.library)
  420.         SCA_XOffset,SCA_YOffset - virtual position
  421.         SCA_PatternNumber - backgound pattern number which is con-
  422.                     figured in "Scalos Pattern" prefs
  423.         SCA_ShowAllFiles - TRUE or FALSE
  424.         SCA_ViewModes - viewmodes for the window
  425.             SCAV_ViewModes_Icon
  426.             SCAV_ViewModes_Name
  427.             SCAV_ViewModes_Date
  428.             SCAV_ViewModes_Size
  429.         SCA_Flag - 
  430.             none available yet
  431.         SCA_Iconify - TRUE or FALSE for open iconified
  432.  
  433.     INPUTS
  434.     TagList - taglist
  435.  
  436.     RESULT
  437.     succ - Success
  438.  
  439.     NOTE
  440.     One of SCA_IconNode, SCA_IconObject or SCA_Path must be given!
  441.  
  442.     SEE ALSO
  443.  
  444.  
  445.     NAME
  446.     SCA_LockWindowList
  447.  
  448.     SYNOPSIS
  449.     windowlist SCA_LockWindowList ( accessmode )
  450.      D0                             D0
  451.  
  452.     struct windowlist SCA_LockWindowList ( LONG accessmode );
  453.  
  454.     FUNCTION
  455.     Locks the windowlist and returns. This function is a main interface of
  456.     the Scalos-API. The messageport should be used to comunicate with a
  457.     windowtask. No window can be closed while the windowlist is locked.
  458.     For more information take a look at the ScalosAPI documentation.
  459.  
  460.     INPUTS
  461.     accessmode -
  462.         SCA_LockWindowList_Shared - locks the windowlist for a read-
  463.                                     only access
  464.         SCA_LockWindowList_Exclusiv - read and write access is know
  465.                                       available
  466.  
  467.     RESULT
  468.     windowlist - a struct windowlist
  469.  
  470.     NOTE
  471.     Normally you should not use the SCA_LockWindowList_Exclusiv. If you
  472.     lock the windowlist exclusiv you should NEVER use intuition calls!
  473.  
  474.     SEE ALSO
  475.  
  476.  
  477.     NAME
  478.     SCA_UnLockWindowList
  479.  
  480.     SYNOPSIS
  481.     SCA_UnLockWindowList ()
  482.  
  483.     void SCA_UnLockWindowList ( void );
  484.  
  485.     FUNCTION
  486.     Unlocks a with LockWindowList() locked windowlist.
  487.  
  488.     INPUTS
  489.  
  490.     RESULT
  491.  
  492.     SEE ALSO
  493.  
  494.  
  495.     NAME
  496.     SCA_AllocMessage
  497.  
  498.     SYNOPSIS
  499.     message SCA_AllocMessage( messagetype, additional_size)
  500.        D0                      D0            D1
  501.  
  502.     struct message SCA_AllocMessage ( ULONG messagetype, UWORD additional_size );
  503.  
  504.     FUNCTION
  505.     Allocates a message which could be sent to Scalos. It's the only
  506.     future-compatible way to do this. The scalos-message signature and the
  507.     the messagetype will be set and the returned memory is cleared.
  508.  
  509.     INPUTS
  510.     messagetype -
  511.         see ScalosAPI.doc
  512.     additional_size - number of bytes that will be added to the size of
  513.                   the message. Normally this should be NULL.
  514.  
  515.     RESULT
  516.     message - a full-filled scalos-message of the selected type or NULL
  517.  
  518.     NOTE
  519.     Never try to free a message yourself, it will cause a memory trashing!
  520.     Scalos uses fast memorypool functions for its messages.
  521.  
  522.     SEE ALSO
  523.  
  524.  
  525.     NAME
  526.     SCA_FreeMessage
  527.  
  528.     SYNOPSIS
  529.     SCA_FreeMessage( message )
  530.                    A1
  531.  
  532.     void SCA_FreeMessage ( struct message );
  533.  
  534.     FUNCTION
  535.     Frees a with SCA_AllocMessage() allocated message.
  536.  
  537.     INPUTS
  538.     message - struct scalos-message (returned from AllocMessage())
  539.  
  540.     RESULT
  541.  
  542.     SEE ALSO
  543.  
  544.  
  545.     NAME
  546.     SCA_InitDrag
  547.  
  548.     SYNOPSIS
  549.     DragHandle SCA_InitDrag( Screen )
  550.         D0                 A0
  551.  
  552.     struct DragHandle SCA_InitDrag ( struct Screen );
  553.  
  554.     FUNCTION
  555.     Inits special bobroutines. This routines are easy to use and
  556.     support 24bit bobs.
  557.  
  558.     INPUTS
  559.     Screen - the screen to use for the bobs or NULL for the default
  560.              Scalos screen
  561.  
  562.     RESULT
  563.     DragHandle - a private structure to pass it to the other Drag functions
  564.  
  565.     SEE ALSO
  566.  
  567.  
  568.     NAME
  569.     SCA_EndDrag
  570.  
  571.     SYNOPSIS
  572.     SCA_EndDrag( DragHandle )
  573.                  A0
  574.  
  575.     void SCA_EndDrag ( struct DragHandle );
  576.  
  577.     FUNCTION
  578.     Removes all bobs from screen and frees it, if nessesary it unlocks
  579.     the layers.
  580.  
  581.     INPUTS
  582.     DragHandle - result from SCA_InitDrag()
  583.  
  584.     RESULT
  585.  
  586.     SEE ALSO
  587.  
  588.  
  589.     NAME
  590.     SCA_AddBob
  591.  
  592.     SYNOPSIS
  593.     succ SCA_AddBob( DragHandle, Bitmap, Mask, Width, Height, XOffset, YOffset )
  594.      D0              A0        A1     A2     D0     D1       D2       D3
  595.  
  596.     BOOL SCA_AddBob ( struct DragHandle, struct Bitmap, APTR Mask, ULONG Width, ULONG Height, LONG XOffset, LONG YOffset );
  597.  
  598.     FUNCTION
  599.     Addes a bitmap to the Boblist. Bitmap and Mask will be copied, it can be
  600.     freed after calling this function. Mask is a planar bitplane the width
  601.     divided by 8 and height. It must be in Chipram. X and Y offsets are the
  602.     offset from movepoint give in SCA_DrawDrag(). Normaly it's the relativ position
  603.     to the mouse pointer.
  604.  
  605.     INPUTS
  606.     DragHandle - result from InitDrag()
  607.     Bitmap - a standard bitmap structure, any depth allowed
  608.     Mask - width/8 * height mask for the bitmap
  609.     Width - width in pixels
  610.     Height - height in pixels
  611.     XOffset - relative x-position to the movepoint
  612.     YOffset - relative y-position to the movepoint
  613.  
  614.     RESULT
  615.     succ - TRUE if anything went well, FALSE if some problem occured
  616.  
  617.     SEE ALSO
  618.  
  619.  
  620.     NAME
  621.     SCA_DrawDrag
  622.  
  623.     SYNOPSIS
  624.     SCA_DrawDrag( DragHandle, X, Y, Flags )
  625.                  A0      D0 D1   D2
  626.  
  627.     void SCA_DrawDrag ( struct DragHandle, LONG X, LONG Y, ULONG Flags );
  628.  
  629.     FUNCTION
  630.     Blits the bobs to the selected screen relative to the given position.
  631.  
  632.     INPUTS
  633.     DragHandle - result from SCA_InitDrag()
  634.     X - movepoint x direction
  635.     Y - movepoint y direction
  636.     Flags - 
  637.         SCAF_Drag_Transparent - draw all bobs transparent, normaly it's a
  638.                                 raster
  639.  
  640.     RESULT
  641.  
  642.     SEE ALSO
  643.  
  644.  
  645.     NAME
  646.     SCA_UpdateIcon
  647.  
  648.     SYNOPSIS
  649.     SCA_UpdateIcon( WindowType, UpdateIcon, UpdateIcon_Size )
  650.                     D0          A0             D1
  651.  
  652.     void SCA_UpdateIcon ( UBYTE WindowType, struct UpdateIcon, ULONG ui_SIZE );
  653.  
  654.     FUNCTION
  655.     Refreshes an icon specified in UpdateIcon structure. The icon will be loaded,
  656.     removed or reloaded. The UpdateIcon struct depents on the windowtype.
  657.  
  658.     INPUTS
  659.     WindowType - windowtype which should be updated
  660.     UpdateIcon - special information, depents on WindowType
  661.     UpdateIcon_Size - size of the UpdateIcon structure in bytes
  662.  
  663.     RESULT
  664.  
  665.     SEE ALSO
  666.  
  667.  
  668.     NAME
  669.     SCA_MakeWBArgs
  670.  
  671.     SYNOPSIS
  672.     number = SCA_MakeWBArgs( Buffer, Iconnode, ArgsSize )
  673.                            A0       A1        D0
  674.  
  675.     ULONG SCA_MakeWBArgs ( APTR Buffer, struct Iconnode, ULONG ArgsSize);
  676.  
  677.     FUNCTION
  678.     Generates a WBArgs Array from all selected icons except the given Iconnode.
  679.  
  680.     INPUTS
  681.     Buffer - Memory to save the Lock and Name pointers
  682.     Iconnode - an iconnode to exclude or NULL
  683.     ArgsSize - Size*8 of the buffer
  684.  
  685.     RESULT
  686.     number - number of args generated
  687.  
  688.     SEE ALSO
  689.  
  690.  
  691.     NAME
  692.     SCA_FreeWBArgs
  693.  
  694.     SYNOPSIS
  695.     number = SCA_FreeWBArgs( Buffer, Number, Flags )
  696.                            A0      D0     D1
  697.  
  698.     void SCA_FreeWBArgs ( APTR Buffer, ULONG Number, ULONG Flags);
  699.  
  700.     FUNCTION
  701.     Frees a ArgArray generated with MakeWBArgs.
  702.  
  703.     INPUTS
  704.     Buffer - Array with WBArgs structures
  705.     Number - Number of WBArgs to free
  706.     Flags - 
  707.         SCAB_FreeLocks - free the Locks
  708.         SCAB_FreeName - free the namefields
  709.  
  710.     RESULT
  711.  
  712.     SEE ALSO
  713.  
  714.  
  715.     NAME
  716.     SCA_RemapBitmap
  717.  
  718.     SYNOPSIS
  719.     SCA_RemapBitmap( SrcBitmap, DestBitmap, PenArray )
  720.                       A0        A1         A2
  721.  
  722.     void SCA_RemapBitmap ( struct Bitmap, struct Bitmap, APTR PenArray);
  723.  
  724.     FUNCTION
  725.     Exchanges the pens in a bitmap. PenArray includes the information about
  726.     which pen in SrcBitmap should be which one in DestBitmap.
  727.     The bitmaps have to be standard bitmaps, no displayable or interleaved
  728.     flags are supported. Never remap a bitmap allocated with of friend
  729.     bitmap.
  730.  
  731.     INPUTS
  732.     ScrBitmap - source Bitmap
  733.     DestBitmap - destination Bitmap or NULL if the SrcBitmap should be
  734.              replaced
  735.     PenArray - array of bytes with pennumbers
  736.  
  737.     RESULT
  738.  
  739.     SEE ALSO
  740.  
  741.  
  742.     NAME
  743.     SCA_ScreenTitleMsg
  744.  
  745.     SYNOPSIS
  746.     SCA_ScreenTitleMsg( Format, Args )
  747.                       A0     A1
  748.  
  749.     void SCA_ScreenTitleMsg ( APTR Format, APTR Args);
  750.  
  751.     FUNCTION
  752.     Show a message on ScreenTitle of all Scalos windows.
  753.  
  754.     INPUTS
  755.     Format - FormatString or NULL to recover the standard title. All RawDoFmt()
  756.                  args are allowed
  757.     Args - the arguments for the formatstring
  758.  
  759.     RESULT
  760.  
  761.     SEE ALSO
  762.     exec.library/RawDoFmt
  763.  
  764.  
  765.     NAME
  766.     SCA_MakeScalosClass
  767.  
  768.     SYNOPSIS
  769.     SCA_MakeScalosClass ( ClassName, SuperClassName, InstSize, DispFunc )
  770.          D0           A0            A1          D0        A2
  771.  
  772.     struct ScalosClass SCA_MakeScalosClass ( APTR ClassName, APTR SuperClassName, UWORD InstSize, APTR DispFunc);
  773.  
  774.     FUNCTION
  775.     Addes a new BOOPSI Class to the internal classlist. ClassName may be a new
  776.     name or a classname that's already available. In this case the class will
  777.     replace or enhance a known class.
  778.  
  779.     INPUTS
  780.     ClassName - name of the new class or NULL for a private class
  781.     SuperClassName - name of the super class for the new class
  782.     InstSize - size of the instance variables
  783.     DispFunc - pointer to your Dispatcher function
  784.  
  785.     RESULT
  786.     ScalosClass - a ScalosClass structure or NULL if it fails
  787.  
  788.     NOTE
  789.     If you like a add a subclass to your private class then use the intuition
  790.     class functions.
  791.  
  792.     SEE ALSO
  793.     intuition.library/MakeClass
  794.  
  795.  
  796.     NAME
  797.     SCA_FreeScalosClass
  798.  
  799.     SYNOPSIS
  800.     scc SCA_FreeScalosClass( ScalosClass )
  801.     D0                       A0
  802.  
  803.     BOOL SCA_FreeScalosClass ( struct ScalosClass );
  804.  
  805.     FUNCTION
  806.     Removes a ScalosClass from the internal classlist.
  807.  
  808.     INPUTS
  809.     ScalosClass - return value from SCA_MakeScalosClass()
  810.  
  811.     RESULT
  812.     succ - FALSE if the class couldn't be removed, else TRUE
  813.  
  814.     SEE ALSO
  815.     SCA_MakeScalosClass, intuition.library/FreeClass
  816.  
  817.  
  818.     NAME
  819.     SCA_NewScalosObject
  820.  
  821.     SYNOPSIS
  822.     Object SCA_NewScalosObject( ClassName, TagList )
  823.       D0                        A0       A1
  824.  
  825.     struct Object SCA_NewScalosObject ( APTR ClassName, APTR TagList);
  826.  
  827.     FUNCTION
  828.     Allocates and inits a new BOOPSI Object.
  829.  
  830.     INPUTS
  831.     ClassName - Scalos Classname
  832.     TagList - taglist (depents on the class)
  833.  
  834.     RESULT
  835.     Object - BOOPSI Object or NULL
  836.  
  837.     SEE ALSO
  838.     intuition.library/NewObject
  839.  
  840.  
  841.     NAME
  842.     SCA_DisposeScalosObject
  843.  
  844.     SYNOPSIS
  845.     SCA_DisposeScalosObject( Object )
  846.                            A0
  847.  
  848.     void SCA_DisposeScalosObject ( struct Object );
  849.  
  850.     FUNCTION
  851.     Disposes a object created with NewScalosObject.
  852.  
  853.     INPUTS
  854.     Object - BOOPSI Object
  855.  
  856.     RESULT
  857.  
  858.     SEE ALSO
  859.     intuition.library/DisposeObject
  860.  
  861.